package br.edu.udc.JMonster.view.model.endereco
{	
	import br.edu.udc.JMonster.view.dto.endereco.Pais;
	import br.edu.udc.JMonster.view.model.AbstractModelLocator;
	
	import com.adobe.cairngorm.model.IModelLocator;
	
	/**
	 * 2008 - ApolloTi Desenvolvimento de Software LTDA. 
	 * Todos os direitos reservados.
	 * 
	 * @author Rodrigo P. Fraga
	 * @email rodrigo@apollo-ti.com
	 * @since 16/04/2008
	 * @version 1.0
	 * @category ModelLocator
	 */		
	[Bindable]
	public class PaisModelLocator extends AbstractModelLocator implements IModelLocator
	{
		private static var instance:PaisModelLocator;

		/**
		 * Singleton Constructor
		 */
		public function PaisModelLocator(enforcer:SingletonEnforcer) 
		{
			if (enforcer == null) 
				throw new Error( "Só pode existir apenas uma instância de PaisModelLocator");
				
			this.entity = new Pais();
		}
		
		/**
		 * Obtem a instância de um PaisModelLocator
		 */
		public static function getInstance():PaisModelLocator 
		{
			if (instance == null)
				instance = new PaisModelLocator(new SingletonEnforcer);
			return instance;
		}
		
		/*-------------------------------------------------------------------
	 	* 		 					ATTRIBUTES
	 	*-------------------------------------------------------------------*/
	 	public static var entitySelecionado:Pais;
	 	
		
		/*-------------------------------------------------------------------
	 	* 		 					BEHAVIORS
	 	*-------------------------------------------------------------------*/	
	}
}
//SINGLETON ENFORCER!
class SingletonEnforcer {}